#pragma once
#include "Actor.h"

class Character : public Actor
{
public:
	Character();
	~Character();
	virtual void BeginPlay() override;
	virtual void Tick(double DetaTime) override;
	virtual void Destroyed() override;

	virtual void RenderActor() override;

	virtual void OnEvent(double DetaTime) override;
	virtual void OnMouse(double xoffset, double yoffset) override;

	void PlayAnimation();

	class Camera* camera;

private:

	class Body* body;
	class Head* head;
	class Leg* legs;
	class Arm* arms;
	class Foot* foots;
	class Hand* hands;

	class Joint* shoulder_joint;
	class Joint* hip_joint;
	class Joint* elbow_joint;

	class Shader* shader_character;

	bool IsMoved = false;
public:
	inline Camera* GetCamera() { return camera; }
};
